#pragma once

#include "head.h"
#include "mysql.h"
#include "tcp_connect.h"

class Parser
: public NoCopyable{
private:
    static ParserPtr parser_;


    Parser();
    // TODO: 将登录和验证提取到TcpConnect中
    shared_ptr<User> doLogin(const char *buf);
    shared_ptr<User> doRegister(const char *buf);

public:
    ~Parser();

    static ParserPtr getInst();
    stringVecPtr parse(const Protocol &proto);
    shared_ptr<User> verify(const Protocol &proto);
    
    stringVecPtr parseBuf(const char *buf);
};